package com.wing.contract.model.response;

import com.baomidou.mybatisplus.annotation.TableField;
import com.wing.contract.model.entity.WarehouseContractFee;
import com.wing.contract.model.entity.WarehouseContractProduct;
import com.wing.product.model.response.WarehouseContractFeeVO;
import com.wing.product.model.response.WarehouseContractProductVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;
import java.util.List;

@Data
@NoArgsConstructor
@Accessors(chain = true)
public class WarehouseContractVO {

    @TableField(value = "id")
    private Long id;

    @TableField(value = "contract_name")
    @Schema(description="合同名称")
    private String contractName;

    @TableField(value = "contract_code")
    @Schema(description="合同编号")
    private String contractCode;

    @TableField(value = "contract_category_id")
    @Schema(description="合同分类ID 取con_contract_category")
    private Long contractCategoryId;
    private String contractCategory;

    @TableField(value = "warehouse_customer_id")
    @Schema(description="签约客户 取 warehouse_customer")
    private Long warehouseCustomerId;
    private String warehouseCustomer;

    @TableField(value = "warehouse_user_id")
    @Schema(description="签约用户 取warehouse_user")
    private Long warehouseUserId;
    private String warehouseUser;

    @TableField(value = "contractor")
    @Schema(description="我方签约人ID szgc-user.use_user ")
    private Long contractorId;
    private String contractor;

    @TableField(value = "approver")
    @Schema(description="信息审批人ID szgc-user.use_user ")
    private Long approverId;
    private String approver;

    @TableField(value = "`status`")
    @Schema(description="状态:staySign(0,待签约);hasSign(1,已签约) 审核人通过;")
    private Long status;

    @TableField(value = "`type`")
    @Schema(description="合同主体类型（托管，过户）")
    private Integer type;

    @TableField(value = "contract_file_url")
    @Schema(description="合同文件地址")
    private String contractFileUrl;

    @TableField(value = "contract_price")
    @Schema(description="合同金额")
    private String contractPrice;

    @TableField(value = "contract_time")
    @Schema(description="签订时间")
    private String contractTime;

    @TableField(value = "create_time")
    @Schema(description="上传时间，创建时间")
    private String createTime;

    @TableField(value = "order_code")
    @Schema(description="订单编号")
    private String orderCode;

    @TableField(value = "contract_remark")
    @Schema(description="备注")
    private String contractRemark;

    private String warehouseUserPhone;

    private String typeName;//

    @TableField(value = "contract_remark")
    @Schema(description="仓库ID")
    private Long warehouseId;      // 仓库ID

    @TableField(value = "contract_remark")
    @Schema(description="联系人ID")
    private Long contactId;        // 联系人ID

    @TableField(value = "contract_remark")
    @Schema(description="生效日期时间")
    private LocalDateTime effectiveDate;    // 生效日期时间

    @TableField(value = "contract_remark")
    @Schema(description="截止日期时间")
    private LocalDateTime expiryDate;       // 截止日期时间

    private String settledOrder;

    private String contactName;//联系人名称

    private String customerName;//所属企业
    private Long customerId;//所属企业id

    private String telephone;//电话


    //收费项
    List<WarehouseContractFeeVO> warehouseContractFeeVOList;

    //托管服务
    List<WarehouseContractProductVO> warehouseContractProductVOList;
}
